package com.pay.model.auto;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * omni交易事务
 *
 * @author fuce
 * @email 87766867@qq.com
 * @date 2019-08-07 13:05:22
 */
public class OmniTransactionResExample {

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OmniTransactionResExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

            public Criteria andTxidIsNull() {
                addCriterion("txid is null");
                return (Criteria) this;
            }

            public Criteria andTxidIsNotNull() {
                addCriterion("txid is not null");
                return (Criteria) this;
            }

            public Criteria andTxidEqualTo(String value) {
                addCriterion("txid =", value, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidNotEqualTo(String value) {
                addCriterion("txid <>", value, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidGreaterThan(String value) {
                addCriterion("txid >", value, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidGreaterThanOrEqualTo(String value) {
                addCriterion("txid >=", value, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidLessThan(String value) {
                addCriterion("txid <", value, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidLessThanOrEqualTo(String value) {
                addCriterion("txid <=", value, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidLike(String value) {
                addCriterion("txid like", value, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidNotLike(String value) {
                addCriterion("txid not like", value, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidIn(List<String> values) {
                addCriterion("txid in", values, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidNotIn(List<String> values) {
                addCriterion("txid not in", values, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidBetween(String value1, String value2) {
                addCriterion("txid between", value1, value2, "txid");
                return (Criteria) this;
            }

            public Criteria andTxidNotBetween(String value1, String value2) {
                addCriterion("txid not between", value1, value2, "txid");
                return (Criteria) this;
            }


            public Criteria andAmountIsNull() {
                addCriterion("amount is null");
                return (Criteria) this;
            }

            public Criteria andAmountIsNotNull() {
                addCriterion("amount is not null");
                return (Criteria) this;
            }

            public Criteria andAmountEqualTo(BigDecimal value) {
                addCriterion("amount =", value, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountNotEqualTo(BigDecimal value) {
                addCriterion("amount <>", value, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountGreaterThan(BigDecimal value) {
                addCriterion("amount >", value, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountGreaterThanOrEqualTo(BigDecimal value) {
                addCriterion("amount >=", value, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountLessThan(BigDecimal value) {
                addCriterion("amount <", value, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountLessThanOrEqualTo(BigDecimal value) {
                addCriterion("amount <=", value, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountLike(BigDecimal value) {
                addCriterion("amount like", value, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountNotLike(BigDecimal value) {
                addCriterion("amount not like", value, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountIn(List<BigDecimal> values) {
                addCriterion("amount in", values, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountNotIn(List<BigDecimal> values) {
                addCriterion("amount not in", values, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountBetween(BigDecimal value1, BigDecimal value2) {
                addCriterion("amount between", value1, value2, "amount");
                return (Criteria) this;
            }

            public Criteria andAmountNotBetween(BigDecimal value1, BigDecimal value2) {
                addCriterion("amount not between", value1, value2, "amount");
                return (Criteria) this;
            }


            public Criteria andFeeIsNull() {
                addCriterion("fee is null");
                return (Criteria) this;
            }

            public Criteria andFeeIsNotNull() {
                addCriterion("fee is not null");
                return (Criteria) this;
            }

            public Criteria andFeeEqualTo(BigDecimal value) {
                addCriterion("fee =", value, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeNotEqualTo(BigDecimal value) {
                addCriterion("fee <>", value, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeGreaterThan(BigDecimal value) {
                addCriterion("fee >", value, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeGreaterThanOrEqualTo(BigDecimal value) {
                addCriterion("fee >=", value, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeLessThan(BigDecimal value) {
                addCriterion("fee <", value, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeLessThanOrEqualTo(BigDecimal value) {
                addCriterion("fee <=", value, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeLike(BigDecimal value) {
                addCriterion("fee like", value, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeNotLike(BigDecimal value) {
                addCriterion("fee not like", value, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeIn(List<BigDecimal> values) {
                addCriterion("fee in", values, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeNotIn(List<BigDecimal> values) {
                addCriterion("fee not in", values, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeBetween(BigDecimal value1, BigDecimal value2) {
                addCriterion("fee between", value1, value2, "fee");
                return (Criteria) this;
            }

            public Criteria andFeeNotBetween(BigDecimal value1, BigDecimal value2) {
                addCriterion("fee not between", value1, value2, "fee");
                return (Criteria) this;
            }


            public Criteria andSendingaddressIsNull() {
                addCriterion("sendingaddress is null");
                return (Criteria) this;
            }

            public Criteria andSendingaddressIsNotNull() {
                addCriterion("sendingaddress is not null");
                return (Criteria) this;
            }

            public Criteria andSendingaddressEqualTo(String value) {
                addCriterion("sendingaddress =", value, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressNotEqualTo(String value) {
                addCriterion("sendingaddress <>", value, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressGreaterThan(String value) {
                addCriterion("sendingaddress >", value, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressGreaterThanOrEqualTo(String value) {
                addCriterion("sendingaddress >=", value, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressLessThan(String value) {
                addCriterion("sendingaddress <", value, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressLessThanOrEqualTo(String value) {
                addCriterion("sendingaddress <=", value, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressLike(String value) {
                addCriterion("sendingaddress like", value, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressNotLike(String value) {
                addCriterion("sendingaddress not like", value, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressIn(List<String> values) {
                addCriterion("sendingaddress in", values, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressNotIn(List<String> values) {
                addCriterion("sendingaddress not in", values, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressBetween(String value1, String value2) {
                addCriterion("sendingaddress between", value1, value2, "sendingaddress");
                return (Criteria) this;
            }

            public Criteria andSendingaddressNotBetween(String value1, String value2) {
                addCriterion("sendingaddress not between", value1, value2, "sendingaddress");
                return (Criteria) this;
            }


            public Criteria andReferenceaddressIsNull() {
                addCriterion("referenceaddress is null");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressIsNotNull() {
                addCriterion("referenceaddress is not null");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressEqualTo(String value) {
                addCriterion("referenceaddress =", value, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressNotEqualTo(String value) {
                addCriterion("referenceaddress <>", value, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressGreaterThan(String value) {
                addCriterion("referenceaddress >", value, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressGreaterThanOrEqualTo(String value) {
                addCriterion("referenceaddress >=", value, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressLessThan(String value) {
                addCriterion("referenceaddress <", value, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressLessThanOrEqualTo(String value) {
                addCriterion("referenceaddress <=", value, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressLike(String value) {
                addCriterion("referenceaddress like", value, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressNotLike(String value) {
                addCriterion("referenceaddress not like", value, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressIn(List<String> values) {
                addCriterion("referenceaddress in", values, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressNotIn(List<String> values) {
                addCriterion("referenceaddress not in", values, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressBetween(String value1, String value2) {
                addCriterion("referenceaddress between", value1, value2, "referenceaddress");
                return (Criteria) this;
            }

            public Criteria andReferenceaddressNotBetween(String value1, String value2) {
                addCriterion("referenceaddress not between", value1, value2, "referenceaddress");
                return (Criteria) this;
            }


            public Criteria andIsmineIsNull() {
                addCriterion("ismine is null");
                return (Criteria) this;
            }

            public Criteria andIsmineIsNotNull() {
                addCriterion("ismine is not null");
                return (Criteria) this;
            }

            public Criteria andIsmineEqualTo(Integer value) {
                addCriterion("ismine =", value, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineNotEqualTo(Integer value) {
                addCriterion("ismine <>", value, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineGreaterThan(Integer value) {
                addCriterion("ismine >", value, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineGreaterThanOrEqualTo(Integer value) {
                addCriterion("ismine >=", value, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineLessThan(Integer value) {
                addCriterion("ismine <", value, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineLessThanOrEqualTo(Integer value) {
                addCriterion("ismine <=", value, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineLike(Integer value) {
                addCriterion("ismine like", value, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineNotLike(Integer value) {
                addCriterion("ismine not like", value, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineIn(List<Integer> values) {
                addCriterion("ismine in", values, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineNotIn(List<Integer> values) {
                addCriterion("ismine not in", values, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineBetween(Integer value1, Integer value2) {
                addCriterion("ismine between", value1, value2, "ismine");
                return (Criteria) this;
            }

            public Criteria andIsmineNotBetween(Integer value1, Integer value2) {
                addCriterion("ismine not between", value1, value2, "ismine");
                return (Criteria) this;
            }


            public Criteria andVersionIsNull() {
                addCriterion("version is null");
                return (Criteria) this;
            }

            public Criteria andVersionIsNotNull() {
                addCriterion("version is not null");
                return (Criteria) this;
            }

            public Criteria andVersionEqualTo(Integer value) {
                addCriterion("version =", value, "version");
                return (Criteria) this;
            }

            public Criteria andVersionNotEqualTo(Integer value) {
                addCriterion("version <>", value, "version");
                return (Criteria) this;
            }

            public Criteria andVersionGreaterThan(Integer value) {
                addCriterion("version >", value, "version");
                return (Criteria) this;
            }

            public Criteria andVersionGreaterThanOrEqualTo(Integer value) {
                addCriterion("version >=", value, "version");
                return (Criteria) this;
            }

            public Criteria andVersionLessThan(Integer value) {
                addCriterion("version <", value, "version");
                return (Criteria) this;
            }

            public Criteria andVersionLessThanOrEqualTo(Integer value) {
                addCriterion("version <=", value, "version");
                return (Criteria) this;
            }

            public Criteria andVersionLike(Integer value) {
                addCriterion("version like", value, "version");
                return (Criteria) this;
            }

            public Criteria andVersionNotLike(Integer value) {
                addCriterion("version not like", value, "version");
                return (Criteria) this;
            }

            public Criteria andVersionIn(List<Integer> values) {
                addCriterion("version in", values, "version");
                return (Criteria) this;
            }

            public Criteria andVersionNotIn(List<Integer> values) {
                addCriterion("version not in", values, "version");
                return (Criteria) this;
            }

            public Criteria andVersionBetween(Integer value1, Integer value2) {
                addCriterion("version between", value1, value2, "version");
                return (Criteria) this;
            }

            public Criteria andVersionNotBetween(Integer value1, Integer value2) {
                addCriterion("version not between", value1, value2, "version");
                return (Criteria) this;
            }


            public Criteria andTypeIntIsNull() {
                addCriterion("typeInt is null");
                return (Criteria) this;
            }

            public Criteria andTypeIntIsNotNull() {
                addCriterion("typeInt is not null");
                return (Criteria) this;
            }

            public Criteria andTypeIntEqualTo(Integer value) {
                addCriterion("typeInt =", value, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntNotEqualTo(Integer value) {
                addCriterion("typeInt <>", value, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntGreaterThan(Integer value) {
                addCriterion("typeInt >", value, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntGreaterThanOrEqualTo(Integer value) {
                addCriterion("typeInt >=", value, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntLessThan(Integer value) {
                addCriterion("typeInt <", value, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntLessThanOrEqualTo(Integer value) {
                addCriterion("typeInt <=", value, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntLike(Integer value) {
                addCriterion("typeInt like", value, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntNotLike(Integer value) {
                addCriterion("typeInt not like", value, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntIn(List<Integer> values) {
                addCriterion("typeInt in", values, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntNotIn(List<Integer> values) {
                addCriterion("typeInt not in", values, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntBetween(Integer value1, Integer value2) {
                addCriterion("typeInt between", value1, value2, "typeInt");
                return (Criteria) this;
            }

            public Criteria andTypeIntNotBetween(Integer value1, Integer value2) {
                addCriterion("typeInt not between", value1, value2, "typeInt");
                return (Criteria) this;
            }


            public Criteria andTypeIsNull() {
                addCriterion("type is null");
                return (Criteria) this;
            }

            public Criteria andTypeIsNotNull() {
                addCriterion("type is not null");
                return (Criteria) this;
            }

            public Criteria andTypeEqualTo(String value) {
                addCriterion("type =", value, "type");
                return (Criteria) this;
            }

            public Criteria andTypeNotEqualTo(String value) {
                addCriterion("type <>", value, "type");
                return (Criteria) this;
            }

            public Criteria andTypeGreaterThan(String value) {
                addCriterion("type >", value, "type");
                return (Criteria) this;
            }

            public Criteria andTypeGreaterThanOrEqualTo(String value) {
                addCriterion("type >=", value, "type");
                return (Criteria) this;
            }

            public Criteria andTypeLessThan(String value) {
                addCriterion("type <", value, "type");
                return (Criteria) this;
            }

            public Criteria andTypeLessThanOrEqualTo(String value) {
                addCriterion("type <=", value, "type");
                return (Criteria) this;
            }

            public Criteria andTypeLike(String value) {
                addCriterion("type like", value, "type");
                return (Criteria) this;
            }

            public Criteria andTypeNotLike(String value) {
                addCriterion("type not like", value, "type");
                return (Criteria) this;
            }

            public Criteria andTypeIn(List<String> values) {
                addCriterion("type in", values, "type");
                return (Criteria) this;
            }

            public Criteria andTypeNotIn(List<String> values) {
                addCriterion("type not in", values, "type");
                return (Criteria) this;
            }

            public Criteria andTypeBetween(String value1, String value2) {
                addCriterion("type between", value1, value2, "type");
                return (Criteria) this;
            }

            public Criteria andTypeNotBetween(String value1, String value2) {
                addCriterion("type not between", value1, value2, "type");
                return (Criteria) this;
            }


            public Criteria andPropertyidIsNull() {
                addCriterion("propertyid is null");
                return (Criteria) this;
            }

            public Criteria andPropertyidIsNotNull() {
                addCriterion("propertyid is not null");
                return (Criteria) this;
            }

            public Criteria andPropertyidEqualTo(Long value) {
                addCriterion("propertyid =", value, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidNotEqualTo(Long value) {
                addCriterion("propertyid <>", value, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidGreaterThan(Long value) {
                addCriterion("propertyid >", value, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidGreaterThanOrEqualTo(Long value) {
                addCriterion("propertyid >=", value, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidLessThan(Long value) {
                addCriterion("propertyid <", value, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidLessThanOrEqualTo(Long value) {
                addCriterion("propertyid <=", value, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidLike(Long value) {
                addCriterion("propertyid like", value, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidNotLike(Long value) {
                addCriterion("propertyid not like", value, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidIn(List<Long> values) {
                addCriterion("propertyid in", values, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidNotIn(List<Long> values) {
                addCriterion("propertyid not in", values, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidBetween(Long value1, Long value2) {
                addCriterion("propertyid between", value1, value2, "propertyid");
                return (Criteria) this;
            }

            public Criteria andPropertyidNotBetween(Long value1, Long value2) {
                addCriterion("propertyid not between", value1, value2, "propertyid");
                return (Criteria) this;
            }


            public Criteria andDivisibleIsNull() {
                addCriterion("divisible is null");
                return (Criteria) this;
            }

            public Criteria andDivisibleIsNotNull() {
                addCriterion("divisible is not null");
                return (Criteria) this;
            }

            public Criteria andDivisibleEqualTo(Integer value) {
                addCriterion("divisible =", value, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleNotEqualTo(Integer value) {
                addCriterion("divisible <>", value, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleGreaterThan(Integer value) {
                addCriterion("divisible >", value, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleGreaterThanOrEqualTo(Integer value) {
                addCriterion("divisible >=", value, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleLessThan(Integer value) {
                addCriterion("divisible <", value, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleLessThanOrEqualTo(Integer value) {
                addCriterion("divisible <=", value, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleLike(Integer value) {
                addCriterion("divisible like", value, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleNotLike(Integer value) {
                addCriterion("divisible not like", value, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleIn(List<Integer> values) {
                addCriterion("divisible in", values, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleNotIn(List<Integer> values) {
                addCriterion("divisible not in", values, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleBetween(Integer value1, Integer value2) {
                addCriterion("divisible between", value1, value2, "divisible");
                return (Criteria) this;
            }

            public Criteria andDivisibleNotBetween(Integer value1, Integer value2) {
                addCriterion("divisible not between", value1, value2, "divisible");
                return (Criteria) this;
            }


            public Criteria andValidIsNull() {
                addCriterion("valid is null");
                return (Criteria) this;
            }

            public Criteria andValidIsNotNull() {
                addCriterion("valid is not null");
                return (Criteria) this;
            }

            public Criteria andValidEqualTo(Integer value) {
                addCriterion("valid =", value, "valid");
                return (Criteria) this;
            }

            public Criteria andValidNotEqualTo(Integer value) {
                addCriterion("valid <>", value, "valid");
                return (Criteria) this;
            }

            public Criteria andValidGreaterThan(Integer value) {
                addCriterion("valid >", value, "valid");
                return (Criteria) this;
            }

            public Criteria andValidGreaterThanOrEqualTo(Integer value) {
                addCriterion("valid >=", value, "valid");
                return (Criteria) this;
            }

            public Criteria andValidLessThan(Integer value) {
                addCriterion("valid <", value, "valid");
                return (Criteria) this;
            }

            public Criteria andValidLessThanOrEqualTo(Integer value) {
                addCriterion("valid <=", value, "valid");
                return (Criteria) this;
            }

            public Criteria andValidLike(Integer value) {
                addCriterion("valid like", value, "valid");
                return (Criteria) this;
            }

            public Criteria andValidNotLike(Integer value) {
                addCriterion("valid not like", value, "valid");
                return (Criteria) this;
            }

            public Criteria andValidIn(List<Integer> values) {
                addCriterion("valid in", values, "valid");
                return (Criteria) this;
            }

            public Criteria andValidNotIn(List<Integer> values) {
                addCriterion("valid not in", values, "valid");
                return (Criteria) this;
            }

            public Criteria andValidBetween(Integer value1, Integer value2) {
                addCriterion("valid between", value1, value2, "valid");
                return (Criteria) this;
            }

            public Criteria andValidNotBetween(Integer value1, Integer value2) {
                addCriterion("valid not between", value1, value2, "valid");
                return (Criteria) this;
            }


            public Criteria andInvalidreasonIsNull() {
                addCriterion("invalidreason is null");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonIsNotNull() {
                addCriterion("invalidreason is not null");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonEqualTo(String value) {
                addCriterion("invalidreason =", value, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonNotEqualTo(String value) {
                addCriterion("invalidreason <>", value, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonGreaterThan(String value) {
                addCriterion("invalidreason >", value, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonGreaterThanOrEqualTo(String value) {
                addCriterion("invalidreason >=", value, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonLessThan(String value) {
                addCriterion("invalidreason <", value, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonLessThanOrEqualTo(String value) {
                addCriterion("invalidreason <=", value, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonLike(String value) {
                addCriterion("invalidreason like", value, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonNotLike(String value) {
                addCriterion("invalidreason not like", value, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonIn(List<String> values) {
                addCriterion("invalidreason in", values, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonNotIn(List<String> values) {
                addCriterion("invalidreason not in", values, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonBetween(String value1, String value2) {
                addCriterion("invalidreason between", value1, value2, "invalidreason");
                return (Criteria) this;
            }

            public Criteria andInvalidreasonNotBetween(String value1, String value2) {
                addCriterion("invalidreason not between", value1, value2, "invalidreason");
                return (Criteria) this;
            }


            public Criteria andBlockhashIsNull() {
                addCriterion("blockhash is null");
                return (Criteria) this;
            }

            public Criteria andBlockhashIsNotNull() {
                addCriterion("blockhash is not null");
                return (Criteria) this;
            }

            public Criteria andBlockhashEqualTo(String value) {
                addCriterion("blockhash =", value, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashNotEqualTo(String value) {
                addCriterion("blockhash <>", value, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashGreaterThan(String value) {
                addCriterion("blockhash >", value, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashGreaterThanOrEqualTo(String value) {
                addCriterion("blockhash >=", value, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashLessThan(String value) {
                addCriterion("blockhash <", value, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashLessThanOrEqualTo(String value) {
                addCriterion("blockhash <=", value, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashLike(String value) {
                addCriterion("blockhash like", value, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashNotLike(String value) {
                addCriterion("blockhash not like", value, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashIn(List<String> values) {
                addCriterion("blockhash in", values, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashNotIn(List<String> values) {
                addCriterion("blockhash not in", values, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashBetween(String value1, String value2) {
                addCriterion("blockhash between", value1, value2, "blockhash");
                return (Criteria) this;
            }

            public Criteria andBlockhashNotBetween(String value1, String value2) {
                addCriterion("blockhash not between", value1, value2, "blockhash");
                return (Criteria) this;
            }


            public Criteria andBlocktimeIsNull() {
                addCriterion("blocktime is null");
                return (Criteria) this;
            }

            public Criteria andBlocktimeIsNotNull() {
                addCriterion("blocktime is not null");
                return (Criteria) this;
            }

            public Criteria andBlocktimeEqualTo(Long value) {
                addCriterion("blocktime =", value, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeNotEqualTo(Long value) {
                addCriterion("blocktime <>", value, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeGreaterThan(Long value) {
                addCriterion("blocktime >", value, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeGreaterThanOrEqualTo(Long value) {
                addCriterion("blocktime >=", value, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeLessThan(Long value) {
                addCriterion("blocktime <", value, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeLessThanOrEqualTo(Long value) {
                addCriterion("blocktime <=", value, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeLike(Long value) {
                addCriterion("blocktime like", value, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeNotLike(Long value) {
                addCriterion("blocktime not like", value, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeIn(List<Long> values) {
                addCriterion("blocktime in", values, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeNotIn(List<Long> values) {
                addCriterion("blocktime not in", values, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeBetween(Long value1, Long value2) {
                addCriterion("blocktime between", value1, value2, "blocktime");
                return (Criteria) this;
            }

            public Criteria andBlocktimeNotBetween(Long value1, Long value2) {
                addCriterion("blocktime not between", value1, value2, "blocktime");
                return (Criteria) this;
            }


            public Criteria andPositioninblockIsNull() {
                addCriterion("positioninblock is null");
                return (Criteria) this;
            }

            public Criteria andPositioninblockIsNotNull() {
                addCriterion("positioninblock is not null");
                return (Criteria) this;
            }

            public Criteria andPositioninblockEqualTo(Long value) {
                addCriterion("positioninblock =", value, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockNotEqualTo(Long value) {
                addCriterion("positioninblock <>", value, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockGreaterThan(Long value) {
                addCriterion("positioninblock >", value, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockGreaterThanOrEqualTo(Long value) {
                addCriterion("positioninblock >=", value, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockLessThan(Long value) {
                addCriterion("positioninblock <", value, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockLessThanOrEqualTo(Long value) {
                addCriterion("positioninblock <=", value, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockLike(Long value) {
                addCriterion("positioninblock like", value, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockNotLike(Long value) {
                addCriterion("positioninblock not like", value, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockIn(List<Long> values) {
                addCriterion("positioninblock in", values, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockNotIn(List<Long> values) {
                addCriterion("positioninblock not in", values, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockBetween(Long value1, Long value2) {
                addCriterion("positioninblock between", value1, value2, "positioninblock");
                return (Criteria) this;
            }

            public Criteria andPositioninblockNotBetween(Long value1, Long value2) {
                addCriterion("positioninblock not between", value1, value2, "positioninblock");
                return (Criteria) this;
            }


            public Criteria andBlockIsNull() {
                addCriterion("block is null");
                return (Criteria) this;
            }

            public Criteria andBlockIsNotNull() {
                addCriterion("block is not null");
                return (Criteria) this;
            }

            public Criteria andBlockEqualTo(Long value) {
                addCriterion("block =", value, "block");
                return (Criteria) this;
            }

            public Criteria andBlockNotEqualTo(Long value) {
                addCriterion("block <>", value, "block");
                return (Criteria) this;
            }

            public Criteria andBlockGreaterThan(Long value) {
                addCriterion("block >", value, "block");
                return (Criteria) this;
            }

            public Criteria andBlockGreaterThanOrEqualTo(Long value) {
                addCriterion("block >=", value, "block");
                return (Criteria) this;
            }

            public Criteria andBlockLessThan(Long value) {
                addCriterion("block <", value, "block");
                return (Criteria) this;
            }

            public Criteria andBlockLessThanOrEqualTo(Long value) {
                addCriterion("block <=", value, "block");
                return (Criteria) this;
            }

            public Criteria andBlockLike(Long value) {
                addCriterion("block like", value, "block");
                return (Criteria) this;
            }

            public Criteria andBlockNotLike(Long value) {
                addCriterion("block not like", value, "block");
                return (Criteria) this;
            }

            public Criteria andBlockIn(List<Long> values) {
                addCriterion("block in", values, "block");
                return (Criteria) this;
            }

            public Criteria andBlockNotIn(List<Long> values) {
                addCriterion("block not in", values, "block");
                return (Criteria) this;
            }

            public Criteria andBlockBetween(Long value1, Long value2) {
                addCriterion("block between", value1, value2, "block");
                return (Criteria) this;
            }

            public Criteria andBlockNotBetween(Long value1, Long value2) {
                addCriterion("block not between", value1, value2, "block");
                return (Criteria) this;
            }


            public Criteria andConfirmationsIsNull() {
                addCriterion("confirmations is null");
                return (Criteria) this;
            }

            public Criteria andConfirmationsIsNotNull() {
                addCriterion("confirmations is not null");
                return (Criteria) this;
            }

            public Criteria andConfirmationsEqualTo(Long value) {
                addCriterion("confirmations =", value, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsNotEqualTo(Long value) {
                addCriterion("confirmations <>", value, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsGreaterThan(Long value) {
                addCriterion("confirmations >", value, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsGreaterThanOrEqualTo(Long value) {
                addCriterion("confirmations >=", value, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsLessThan(Long value) {
                addCriterion("confirmations <", value, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsLessThanOrEqualTo(Long value) {
                addCriterion("confirmations <=", value, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsLike(Long value) {
                addCriterion("confirmations like", value, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsNotLike(Long value) {
                addCriterion("confirmations not like", value, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsIn(List<Long> values) {
                addCriterion("confirmations in", values, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsNotIn(List<Long> values) {
                addCriterion("confirmations not in", values, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsBetween(Long value1, Long value2) {
                addCriterion("confirmations between", value1, value2, "confirmations");
                return (Criteria) this;
            }

            public Criteria andConfirmationsNotBetween(Long value1, Long value2) {
                addCriterion("confirmations not between", value1, value2, "confirmations");
                return (Criteria) this;
            }


            public Criteria andEcosystemIsNull() {
                addCriterion("ecosystem is null");
                return (Criteria) this;
            }

            public Criteria andEcosystemIsNotNull() {
                addCriterion("ecosystem is not null");
                return (Criteria) this;
            }

            public Criteria andEcosystemEqualTo(String value) {
                addCriterion("ecosystem =", value, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemNotEqualTo(String value) {
                addCriterion("ecosystem <>", value, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemGreaterThan(String value) {
                addCriterion("ecosystem >", value, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemGreaterThanOrEqualTo(String value) {
                addCriterion("ecosystem >=", value, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemLessThan(String value) {
                addCriterion("ecosystem <", value, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemLessThanOrEqualTo(String value) {
                addCriterion("ecosystem <=", value, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemLike(String value) {
                addCriterion("ecosystem like", value, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemNotLike(String value) {
                addCriterion("ecosystem not like", value, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemIn(List<String> values) {
                addCriterion("ecosystem in", values, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemNotIn(List<String> values) {
                addCriterion("ecosystem not in", values, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemBetween(String value1, String value2) {
                addCriterion("ecosystem between", value1, value2, "ecosystem");
                return (Criteria) this;
            }

            public Criteria andEcosystemNotBetween(String value1, String value2) {
                addCriterion("ecosystem not between", value1, value2, "ecosystem");
                return (Criteria) this;
            }


            public Criteria andPropertytypeIsNull() {
                addCriterion("propertytype is null");
                return (Criteria) this;
            }

            public Criteria andPropertytypeIsNotNull() {
                addCriterion("propertytype is not null");
                return (Criteria) this;
            }

            public Criteria andPropertytypeEqualTo(String value) {
                addCriterion("propertytype =", value, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeNotEqualTo(String value) {
                addCriterion("propertytype <>", value, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeGreaterThan(String value) {
                addCriterion("propertytype >", value, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeGreaterThanOrEqualTo(String value) {
                addCriterion("propertytype >=", value, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeLessThan(String value) {
                addCriterion("propertytype <", value, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeLessThanOrEqualTo(String value) {
                addCriterion("propertytype <=", value, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeLike(String value) {
                addCriterion("propertytype like", value, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeNotLike(String value) {
                addCriterion("propertytype not like", value, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeIn(List<String> values) {
                addCriterion("propertytype in", values, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeNotIn(List<String> values) {
                addCriterion("propertytype not in", values, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeBetween(String value1, String value2) {
                addCriterion("propertytype between", value1, value2, "propertytype");
                return (Criteria) this;
            }

            public Criteria andPropertytypeNotBetween(String value1, String value2) {
                addCriterion("propertytype not between", value1, value2, "propertytype");
                return (Criteria) this;
            }


            public Criteria andCategoryIsNull() {
                addCriterion("category is null");
                return (Criteria) this;
            }

            public Criteria andCategoryIsNotNull() {
                addCriterion("category is not null");
                return (Criteria) this;
            }

            public Criteria andCategoryEqualTo(String value) {
                addCriterion("category =", value, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryNotEqualTo(String value) {
                addCriterion("category <>", value, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryGreaterThan(String value) {
                addCriterion("category >", value, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryGreaterThanOrEqualTo(String value) {
                addCriterion("category >=", value, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryLessThan(String value) {
                addCriterion("category <", value, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryLessThanOrEqualTo(String value) {
                addCriterion("category <=", value, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryLike(String value) {
                addCriterion("category like", value, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryNotLike(String value) {
                addCriterion("category not like", value, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryIn(List<String> values) {
                addCriterion("category in", values, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryNotIn(List<String> values) {
                addCriterion("category not in", values, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryBetween(String value1, String value2) {
                addCriterion("category between", value1, value2, "category");
                return (Criteria) this;
            }

            public Criteria andCategoryNotBetween(String value1, String value2) {
                addCriterion("category not between", value1, value2, "category");
                return (Criteria) this;
            }


            public Criteria andSubcategoryIsNull() {
                addCriterion("subcategory is null");
                return (Criteria) this;
            }

            public Criteria andSubcategoryIsNotNull() {
                addCriterion("subcategory is not null");
                return (Criteria) this;
            }

            public Criteria andSubcategoryEqualTo(String value) {
                addCriterion("subcategory =", value, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryNotEqualTo(String value) {
                addCriterion("subcategory <>", value, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryGreaterThan(String value) {
                addCriterion("subcategory >", value, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryGreaterThanOrEqualTo(String value) {
                addCriterion("subcategory >=", value, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryLessThan(String value) {
                addCriterion("subcategory <", value, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryLessThanOrEqualTo(String value) {
                addCriterion("subcategory <=", value, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryLike(String value) {
                addCriterion("subcategory like", value, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryNotLike(String value) {
                addCriterion("subcategory not like", value, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryIn(List<String> values) {
                addCriterion("subcategory in", values, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryNotIn(List<String> values) {
                addCriterion("subcategory not in", values, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryBetween(String value1, String value2) {
                addCriterion("subcategory between", value1, value2, "subcategory");
                return (Criteria) this;
            }

            public Criteria andSubcategoryNotBetween(String value1, String value2) {
                addCriterion("subcategory not between", value1, value2, "subcategory");
                return (Criteria) this;
            }


            public Criteria andPropertynameIsNull() {
                addCriterion("propertyname is null");
                return (Criteria) this;
            }

            public Criteria andPropertynameIsNotNull() {
                addCriterion("propertyname is not null");
                return (Criteria) this;
            }

            public Criteria andPropertynameEqualTo(String value) {
                addCriterion("propertyname =", value, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameNotEqualTo(String value) {
                addCriterion("propertyname <>", value, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameGreaterThan(String value) {
                addCriterion("propertyname >", value, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameGreaterThanOrEqualTo(String value) {
                addCriterion("propertyname >=", value, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameLessThan(String value) {
                addCriterion("propertyname <", value, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameLessThanOrEqualTo(String value) {
                addCriterion("propertyname <=", value, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameLike(String value) {
                addCriterion("propertyname like", value, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameNotLike(String value) {
                addCriterion("propertyname not like", value, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameIn(List<String> values) {
                addCriterion("propertyname in", values, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameNotIn(List<String> values) {
                addCriterion("propertyname not in", values, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameBetween(String value1, String value2) {
                addCriterion("propertyname between", value1, value2, "propertyname");
                return (Criteria) this;
            }

            public Criteria andPropertynameNotBetween(String value1, String value2) {
                addCriterion("propertyname not between", value1, value2, "propertyname");
                return (Criteria) this;
            }


            public Criteria andDataIsNull() {
                addCriterion("data is null");
                return (Criteria) this;
            }

            public Criteria andDataIsNotNull() {
                addCriterion("data is not null");
                return (Criteria) this;
            }

            public Criteria andDataEqualTo(String value) {
                addCriterion("data =", value, "data");
                return (Criteria) this;
            }

            public Criteria andDataNotEqualTo(String value) {
                addCriterion("data <>", value, "data");
                return (Criteria) this;
            }

            public Criteria andDataGreaterThan(String value) {
                addCriterion("data >", value, "data");
                return (Criteria) this;
            }

            public Criteria andDataGreaterThanOrEqualTo(String value) {
                addCriterion("data >=", value, "data");
                return (Criteria) this;
            }

            public Criteria andDataLessThan(String value) {
                addCriterion("data <", value, "data");
                return (Criteria) this;
            }

            public Criteria andDataLessThanOrEqualTo(String value) {
                addCriterion("data <=", value, "data");
                return (Criteria) this;
            }

            public Criteria andDataLike(String value) {
                addCriterion("data like", value, "data");
                return (Criteria) this;
            }

            public Criteria andDataNotLike(String value) {
                addCriterion("data not like", value, "data");
                return (Criteria) this;
            }

            public Criteria andDataIn(List<String> values) {
                addCriterion("data in", values, "data");
                return (Criteria) this;
            }

            public Criteria andDataNotIn(List<String> values) {
                addCriterion("data not in", values, "data");
                return (Criteria) this;
            }

            public Criteria andDataBetween(String value1, String value2) {
                addCriterion("data between", value1, value2, "data");
                return (Criteria) this;
            }

            public Criteria andDataNotBetween(String value1, String value2) {
                addCriterion("data not between", value1, value2, "data");
                return (Criteria) this;
            }


            public Criteria andUrlIsNull() {
                addCriterion("url is null");
                return (Criteria) this;
            }

            public Criteria andUrlIsNotNull() {
                addCriterion("url is not null");
                return (Criteria) this;
            }

            public Criteria andUrlEqualTo(String value) {
                addCriterion("url =", value, "url");
                return (Criteria) this;
            }

            public Criteria andUrlNotEqualTo(String value) {
                addCriterion("url <>", value, "url");
                return (Criteria) this;
            }

            public Criteria andUrlGreaterThan(String value) {
                addCriterion("url >", value, "url");
                return (Criteria) this;
            }

            public Criteria andUrlGreaterThanOrEqualTo(String value) {
                addCriterion("url >=", value, "url");
                return (Criteria) this;
            }

            public Criteria andUrlLessThan(String value) {
                addCriterion("url <", value, "url");
                return (Criteria) this;
            }

            public Criteria andUrlLessThanOrEqualTo(String value) {
                addCriterion("url <=", value, "url");
                return (Criteria) this;
            }

            public Criteria andUrlLike(String value) {
                addCriterion("url like", value, "url");
                return (Criteria) this;
            }

            public Criteria andUrlNotLike(String value) {
                addCriterion("url not like", value, "url");
                return (Criteria) this;
            }

            public Criteria andUrlIn(List<String> values) {
                addCriterion("url in", values, "url");
                return (Criteria) this;
            }

            public Criteria andUrlNotIn(List<String> values) {
                addCriterion("url not in", values, "url");
                return (Criteria) this;
            }

            public Criteria andUrlBetween(String value1, String value2) {
                addCriterion("url between", value1, value2, "url");
                return (Criteria) this;
            }

            public Criteria andUrlNotBetween(String value1, String value2) {
                addCriterion("url not between", value1, value2, "url");
                return (Criteria) this;
            }


            public Criteria andSubsendsIsNull() {
                addCriterion("subsends is null");
                return (Criteria) this;
            }

            public Criteria andSubsendsIsNotNull() {
                addCriterion("subsends is not null");
                return (Criteria) this;
            }

            public Criteria andSubsendsEqualTo(String value) {
                addCriterion("subsends =", value, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsNotEqualTo(String value) {
                addCriterion("subsends <>", value, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsGreaterThan(String value) {
                addCriterion("subsends >", value, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsGreaterThanOrEqualTo(String value) {
                addCriterion("subsends >=", value, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsLessThan(String value) {
                addCriterion("subsends <", value, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsLessThanOrEqualTo(String value) {
                addCriterion("subsends <=", value, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsLike(String value) {
                addCriterion("subsends like", value, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsNotLike(String value) {
                addCriterion("subsends not like", value, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsIn(List<String> values) {
                addCriterion("subsends in", values, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsNotIn(List<String> values) {
                addCriterion("subsends not in", values, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsBetween(String value1, String value2) {
                addCriterion("subsends between", value1, value2, "subsends");
                return (Criteria) this;
            }

            public Criteria andSubsendsNotBetween(String value1, String value2) {
                addCriterion("subsends not between", value1, value2, "subsends");
                return (Criteria) this;
            }


    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
